// ---------- CONSTANTES Y VARIABLES GLOBALES --------------------------


//pines para el gprs
const int pinGprsStatusLed = 13;
const int pinActivarGPRS = 2;  // pin para activar el módulo GPRS


//const int simPinNumber = ****;


// ---------- FUNCIONES --------------------------


//procedimiento para activar el módulo GPRS
void turnOnGprsModule()
{
// el puerto serie ya está inicializado en el setup
//Serial.begin(19200); //velocidad de conexión con módulo GPRS
  
  Serial.println("Activando GPRS");
  
  //Encendido del módulo (pulso HIGH 2 segundos en el pin 2)
  digitalWrite(pinActivarGPRS, HIGH);
  delay(2000);
  digitalWrite(pinActivarGPRS, LOW);
  
  //esperamos 20 segundos a que se active el módulo GPRS
  for (int wait = 0; wait < 10; wait++)
    ledBlink(1000,1000); 
  
  //unlockSimCard();
  
  Serial.println("AT+CMGF=1"); //activamos el modo SMS
  
}

void turnOffGprsModule()
{
  Serial.println("AT*PSCPOF");
  
  Serial.println("GPRS desactivado");
}


//Parpadeo con espera (bloquea ejecución)
void ledBlink(int on, int off)
{
    digitalWrite(pinGprsStatusLed, HIGH);
    delay(on);
    digitalWrite(pinGprsStatusLed, LOW);
    delay (off);
}
  

void sendSms(char* phoneNumber, char* msgTxt)
{

    Serial.println("Inicio envio sms");
  
    //Destello 5 veces indica inicio SMS
    for (int i = 0; i < 5 ; i++)
      ledBlink(100, 100);
    
    delay(1500);
    Serial.print("AT+CMGS="); // comando AT para enviar SMS
    Serial.write(34);   // enviar caracter "
    Serial.print(phoneNumber); // numero de movil receptor del SMS
    Serial.write(34);  //  enviar caracter "
    Serial.println("");
    delay(1500); 
    Serial.print(msgTxt); //texto del SMS
    delay(500);
    Serial.write(0x1A); // final del SMS, comando 1A (hex)
       
    delay(10000);        

    //Destello 3 veces indica fin SMS
    for (int i = 0; i < 3 ; i++)
      ledBlink(100,100);
      
    Serial.println("");  
    Serial.println("Fin envio sms");  
}


/*
void unlockSimCard()
{
  //Enviamos el pin de desbloqueo de la tarjeta
  Serial.print("AT+CPIN=");
  Serial.print(simPinNumber);
  Serial.print(";");
}
*/

